toxic.conf(5)
=============

NAME
----
toxic.conf - Configuration file for toxic


SYNOPSIS
--------
~/.config/tox/toxic.conf


DESCRIPTION
-----------
The 'toxic.conf' file is the main configuration file for *toxic*(1) client.
It uses syntax accepted by *libconfig*.
Lines starting with "//" are comments and will be ignored.


EXAMPLE
-------
----
// Configuration for interface
ui = {
    timestamps = true;
    alerts = false;
};

// Configuration for audio
audio = {
    input_device = 1;
};
----


OPTIONS
-------
*ui*::
    Configuration related to interface elements.

    *timestamps*;;
        Enable or disable timestamps. true or false

    *time_format*;;
	Select between 24 and 12 hour time. Specify 24 or 12. Setting
        timestamp_format and log_timestamp_format will override this setting.

    *timestamp_format*;;
        Time format string for the interface enclosed by double quotes.
        See *date*(1)

    *log_timestamp_format*;;
        Time format string for logging enclosed by double quotes.
        See *date*(1)

    *alerts*;;
        Enable or disable acoustic alerts on events. true or false

    *native_colors*;;
        Select between native terminal colors and toxic color theme. true or false

    *color_bar_bg*;;
        set background color of chat status bars. (black, white, red, green, blue, cyan, yellow, magenta)

    *color_bar_fg*;;
        set foreground (text) color of chat status bars. (black, white, red, green, blue, cyan, yellow, magenta)

    *color_bar_accent*;;
        set foreground accent color of chat status bars. (black, white, red, green, blue, cyan, yellow, magenta)

    *color_bar_notify*;;
        set foreground notify (and typing) color in chat status bar. (black, white, red, green, blue, cyan, yellow, magenta)

    *autolog*;;
        Enable or disable autologging. true or false

    *show_typing_other*;;
        Show when others are typing in a 1-on-1 chat. true or false

    *show_typing_self*;;
        Show others when you're typing in a 1-on-1 chat. true or false

    *show_welcome_msg*;;
        Show welcome message on startup. true or false

    *show_connection_msg*;;
        Enable friend connection change notifications. true or false

    *show_group_connection_msg*;;
        Enable group connection change notifications (does not include quit messages). true or false

    *nodelist_update_freq*;;
        How often in days to update the DHT nodes list. (integer; 0 to disable)

    *autosave_freq*;;
        How often in seconds to auto-save the Tox data file. (integer; 0 to disable)

    *history_size*;;
        Maximum lines for chat window history. Integer value. (for example: 700)

    *notification_timeout*;;
        Time in milliseconds to display a notification. Integer value. (for example: 3000)

    *line_join*;;
        Indicator for when someone connects or joins a group.
        Three characters max for line_ settings.

    *line_quit*;;
        Indicator for when someone disconnects or leaves a group.

    *line_alert*;;
        Indicator for alert messages.

    *line_normal*;;
        Indicator for normal messages.

    *mplex_away*;;
        Set user status when attaching and detaching from GNU screen or tmux.
        true or false

    *mplex_away_note*;;
        Status message to set when status is set to away due to screen/tmux
        detach. When attaching, the status message is set back to the original
        value.

    *group_part_message*;;
	Parting message that will be sent to all groupchat peers when you leave the group.

    The following options control whether to output a terminal bell on certain events.
    Some terminals mark the window as urgent when a bell is received. Urgent windows are usually highlighted in the taskbar and some window managers even provide shortcuts to jump to the next urgent window.
    These options don't affect the "alerts" option.

    *bell_on_message*;;
        Enable/Disable the terminal bell when receiving a message. true or false

    *bell_on_filetrans*;;
        Enable/Disable the terminal bell when receiving a filetransfer. true or false

    *bell_on_filetrans_accept*;;
        Enable/Disable the terminal bell when a filetransfer was accepted. true or false

    *bell_on_invite*;;
        Enable/Disable the terminal bell when receiving a group/call invite. true or false


*audio*::
    Configuration related to audio devices.

    *input_device*;;
        Audio input device. Integer value. Number corresponds to `/lsdev in`

    *output_device*;;
        Audio output device. Integer value. Number corresponds to `/lsdev out`

    *VAD_threshold*;;
        Voice Activity Detection threshold.  Float value. Recommended values are
        1.0-40.0

    *conference_audio_channels*;;
        Number of channels for conference audio broadcast. Integer value. 1 (mono) or 2 (stereo)

    *chat_audio_channels*;;
        Number of channels for 1-on-1 audio broadcast. Integer value. 1 (mono) or 2 (stereo)

    *push_to_talk*;;
        Enable/Disable Push-To-Talk for conference audio chats (active key is F2). true or false

*tox*::
    Configuration related to paths.

    *download_path*;;
        Default path for downloads. String value. Absolute path for downloaded
        files.

    *avatar_path*;;
        Path for your avatar (file must be a .png and cannot exceed 16.3 KiB)

    *autorun_path*;;
        Path for any scripts that should be run on startup

    *chatlogs_path*;;
        Default path for chatlogs. String value. Absolute path for chatlog files.

    *password_eval*;;
        Replace password prompt by running this command and using its output as
	the password.

*sounds*::
    Configuration related to notification sounds.
    Special value "silent" can be used to disable a specific notification. +
    Each value is a string which corresponds to the absolute path of a wav
    sound file.

    *notif_error*;;
        Sound to play when an error occurs.

    *self_log_in*;;
        Sound to play when you log in.

    *self_log_out*;;
        Sound to play when you log out.

    *user_log_in*;;
        Sound to play when a contact become online.

    *user_log_out*;;
        Sound to play when a contact become offline.

    *call_incoming*;;
        Sound to play when you receive an incoming call.

    *call_outgoing*;;
        Sound to play when you start a call.

    *generic_message*;;
        Sound to play when an event occurs.

    *transfer_pending*;;
        Sound to play when you receive a file transfer request.

    *transfer_completed*;;
        Sound to play when a file transfer is completed.

*keys*::
    Configuration related to user interface interaction.
    Currently supported: Ctrl modified keys, Tab, PAGEUP and PAGEDOWN. +
    Each value is a string which corresponds to a key combination.

    *next_tab*;;
        Key combination to switch next tab.

    *prev_tab*;;
        Key combination to switch previous tab.

    *scroll_line_up*;;
        Key combination to scroll one line up.

    *scroll_line_down*;;
        Key combination to scroll one line down.

    *half_page_up*;;
        Key combination to scroll half page up.

    *half_page_down*;;
        Key combination to scroll half page down.

    *page_bottom*;;
        Key combination to scroll to page bottom.

    *toggle_peerlist*;;
        Toggle the peer list on and off.

    *toggle_paste_mode*;;
        Toggle treating linebreaks as enter key press.


FILES
-----
~/.config/tox/toxic.conf::
    Main configuration file.

{datadir}/toxic.conf.example::
    Configuration example.

RESOURCES
---------
Project page: <https://github.com/JFreegman/toxic>

Tox development group public key: 360497DA684BCE2A500C1AF9B3A5CE949BBB9F6FB1F91589806FB04CA039E313

AUTHORS
-------
JFreegman <JFreegman@gmail.com>

SEE ALSO
--------
*toxic*(1)



